//
// request.hpp
// ~~~~~~~~~~~
//
// Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//

#ifndef HTTP_REQUEST_HPP
#define HTTP_REQUEST_HPP

#include <string>
#include <vector>
#include "header.hpp"

namespace http {
namespace server {

/// A request received from a client.
struct request
{
  std::string method;
  std::string uri;  
  int http_version_major;
  int http_version_minor;
  std::vector<header> headers;
  int content_length;				// the expected length of the contents
  std::string content;				// the contents
    
    // add by lbw for parse params 0917
    std::string pureurl;
    struct Param
    {
        std::string name;
        std::string value;
    };
    std::vector<Param> params;
    request()
    {
        content_length = 0;
    }
};

} // namespace server
} // namespace http

#endif // HTTP_REQUEST_HPP
